﻿#ifndef APPSIGNAL_H
#define APPSIGNAL_H

#include "Common/common.h"

#include <QObject>

class QWidget;
class AppSignal : public QObject
{
    Q_OBJECT
private:
    explicit AppSignal(QObject *parent = nullptr);
    AppSignal(const AppSignal& signal) = delete;
    AppSignal& operator=(const AppSignal& signal) = delete;

public:
    static AppSignal* getInstance();

signals:
    // 系统异常消息
    void sgl_occur_system_error(const QString &msg);

    // 系统通知消息
    void sgl_occur_system_info(const QString &msg);

    // 系统成功消息
    void sgl_occur_system_success(const QString &msg);

    // 解析结果
    void sgl_parse_file_result(const QString &path, const QList<PointDetail> &result);

    // tif 图像的结果
    void sgl_parse_tiff_result(const TiffDetail& result);

    // 更新点状态
    void sgl_update_point_result_status(const QList<long> &ids);

    // 更新线条
    void sgl_update_point_line();

    // 更新高亮对象
    void sgl_update_highlight_point(const QList<long> &ids);

    // 更新网格
    void sgl_update_cube_axes_view();
};

#endif // APPSIGNAL_H
